Wikipedia defines Iddq testing as a method for testing CMOS integrated circuits for the presence of manufacturing faults. This testing relies on measuring the supply current (Idd) in the quiescent state (when the circuit is not switching). The current consumed in the state is commonly called Iddq for Idd (quiescent) and hence the name.
Iddq testing uses the principle that in a correctly operating quiescent CMOS digital circuit, there is no static current path between the power supply and ground, except for a small amount of leakage. Many common semiconductor manufacturing faults will cause the current to increase by orders of magnitude, which can be easily detected. This has the advantage of checking the chip for many possible faults with one measurement. Another advantage is that it may catch faults that are not found by conventional stuck-at fault test vectors.
Iddq testing is somewhat more complex than just measuring the supply current. If a line is shorted to Vdd, for example, it will still draw no extra current if the gate driving the signal is attempting to set it to ‘1’. However, a different vector set that attempts to set the signal to 0 will show a large increase in quiescent current, signalling a bad part. Typical Iddq test vector sets may have 20 or so vectors.
Many modern integrated circuits apply aggressive power saving techniques. One well known power saving technique involves placing a module of the integrated circuit in a so-called low power mode. This can involve shutting down the entire module or shutting down major portions of the module.
The quiescent current of a module that operates in a low power mode can be very small. The measurement of such a quiescent current can be very problematic and subject to various noises.
The quiescent current of a shut down module can be much smaller than the quiescent current of the same module when operating in a non-low power mode. The quiescent current of the former can be less than one percent of the latter.
Iddq tests are relatively time consuming, particularly when using external testers that are not aware of the operational mode of the module.